<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>10.改变this的指向</title>
</head>
<body>

    <script>
        /*
        借用函数
           bind(真实的this指向,... 参数)   返回一个函数 不会直接调用
           call(真实的this指向,... 参数)   返回一个函数调用
           apply(真实的this指向,[参数1，参数2。。。])  返回一个函数调用
        
        */
        // this的原始指向是谁
        /*
         函数上  this指向的是函数的调用者
        */
       function fun01() {
         console.log(this);  // window
       }
       fun01();

       var obj = {
          name:"小明",
          say:function(a,b) {
              console.log(this.name,a,b);
          }
       }
       
       var stu = {
          name:"小红"
       }
 
        obj.say.bind(stu)(1,2)
        console.log("===========================");
        obj.say.bind(stu,1,2)()
        console.log("===========================");
    
        console.log("===========================");
       obj.say.call(stu,1,2)
       console.log("===========================");
       obj.say.apply(stu,[1,2])

      // console.dir( obj.say);
    </script>
    
</body>
</html>